﻿using System;

namespace Micro.Extensions.Log
{
    public class BaseMessage
    {
        /// <summary>
        /// 日志记录名称
        /// </summary>
        public string LogName { get; set; }

        /// <summary>
        /// 日志级别
        /// </summary>
        public string LogLevel { get; set; }

        /// <summary>
        /// 事件Id
        /// </summary>
        public int EventId { get; set; }

        /// <summary>
        /// 日志类型
        /// </summary>
        public string LogType { get; set; }

        /// <summary>
        /// 错误信息
        /// </summary>
        public string Exception { get; set; }

        /// <summary>
        /// 主机IP
        /// </summary>
        // ReSharper disable once InconsistentNaming
        public string HostIPAddress { get; set; }

        /// <summary>
        /// 应用程序Id
        /// </summary>
        public string ApplicationId { get; set; }

        /// <summary>
        /// 日志
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// 日志记录时间
        /// </summary>
        public DateTime LogTime { get; set; }

        /// <summary>
        /// 线程Id
        /// </summary>
        public int ThreadId { get; set; }

        /// <summary>
        /// 线程名称
        /// </summary>
        public string ThreadName { get; set; }

        /// <summary>
        /// 链路Id
        /// </summary>
        public string ChainId { get; set; }

        /// <summary>
        /// 追踪ID
        /// </summary>
        public string TrackId { get; set; }

        /// <summary>
        /// 父级追踪Id
        /// </summary>
        public string ParentTrackId { get; set; }
    }
}
